package io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;

/**
 * java IO
 * IO:input和output 即：输入与输出
 * java将读写操作的API比喻为"流"。流:向着同一侧顺序移动的过程。在java中读写字节的API
 * 称为字节流。对应的两个超类为：
 * java.io.InputStream和java.io.OutputStream，他们都是抽象类，规定了读写方法。
 * InputStream是所有字节输入流的超类，用于读取字节。本身不能实例化，下面有众多实现类。
 * 例如:文件输入流FileInputStream,用于读取文件数据
 * OutputStream是所有字节输出流的超类，用于写出字节。本身不能实例化，也有众多实现类。
 *
 * 文件流:java.io.FileInputStream和FileOutputStream
 * 是实际链接程序与文件的"管道"，负责读写文件的两个流。
 *
 *
 */

public class FileOutputStreamDemo {
    public FileOutputStreamDemo(String s) {
    }

    public static void main(String[] args) throws FileNotFoundException {


////        File file = new File("./fos.dat");
////        FileOutputStream fos = new FileOutputStream(file);
//
//        FileOutputStream fos = new FileOutputStream("./fos.dat");
//        /*
//            OutputStream字节输出流提供了写出字节的方法:
//            void write(int d)
//            写出1个字节。将给定的int值对应的2进制的"低八位"写出
//
//            文件流输出流继承自OutputStream，所以该方法是将给定内容写入文件。
//
//            fos.write(1)
//            int型的1对应的2进制:
//                                       vvvvvvvv 写的是这8位
//            00000000 00000000 00000000 00000001
//
//            fos.dat文件中内容为:
//            00000001
//         */
//        fos.write(2);
//        /*
//            fos.write(2)
//            int型的2对应的2进制:
//                                       vvvvvvvv 写的是这8位
//            00000000 00000000 00000000 00000010
//
//            fos.dat文件中内容为:
//            00000001 00000010
//         */
//        fos.write(2);
//
//        System.out.println("写出完毕！");
//        fos.close();

















    }
}
